home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #2 / Monster Media No. 2 (Monster Media)(1994).ISO / pcboard / mafpcb15.zip / NS.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-04-21  |  4KB  |  290 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  22.     Date     DATE001
  23.     Date     DATE002
  24.     Date     DATE003
  25.     Integer  INTEGER001
  26.     Integer  INTEGER002
  27.     Integer  INTEGER003
  28.     Integer  INTEGER004
  29.     Integer  INTEGER005
  30.     String   STRING001
  31.     String   STRING002
  32.     String   STRING003
  33.     String   STRING004
  34.     String   STRING005
  35.     String   STRING006
  36.     String   TSTRING007(1)
  37.     String   STRING008
  38.     String   STRING009
  39.     String   STRING010
  40.     String   STRING011
  41.     String   STRING012
  42.     String   STRING013
  43.     String   STRING014
  44.  
  45. ;------------------------------------------------------------------------------
  46.  
  47.     GetUser
  48.     DATE001 = Date()
  49.     DATE002 = DATE001
  50.     BOOLEAN001 = 0
  51.     DATE003 = U_LDate()
  52.     STRING008 = PPEPath() + "graph\nstext"
  53.     If (LangExt() <> "") Then
  54.         If (Exist(STRING008 + LangExt())) STRING008 = STRING008 + LangExt()
  55.     Endif
  56.     STRING013 = PPEPath() + "ns.cfg"
  57.     STRING006 = ReadLine(STRING013, 4) + "\captmp" + String(PcbNode())
  58.     STRING014 = TokenStr()
  59.     Tokenize ReadLine(STRING013, 5)
  60.     BOOLEAN003 = 0
  61.     If (GetToken() == "YES") Then
  62.         BOOLEAN003 = 1
  63.         STRING009 = GetToken()
  64.         STRING003 = ReadLine(STRING013, 6)
  65.         STRING003 = ReplaceStr(STRING003, "@ZIP@", STRING006 + "." + STRING009)
  66.         STRING003 = ReplaceStr(STRING003, "@CAP@", STRING006)
  67.     Endif
  68.     STRING011 = Chr(13)
  69.     GetUser
  70.     Tokenize STRING014
  71.     If (TokCount() >= 1) Then
  72.         INTEGER005 = TokCount()
  73.         Redim TSTRING007, INTEGER005
  74.         For INTEGER003 = 1 To INTEGER005
  75.             TSTRING007(INTEGER003) = GetToken()
  76.             If (Left(TSTRING007(INTEGER003), 1) == "-") Then
  77.                 STRING004 = Mid(TSTRING007(INTEGER003), 2, Len(TSTRING007(INTEGER003)) - 1)
  78.                 DATE002 = ToDate(ToInt(DATE001) - ToInt(STRING004))
  79.                 TSTRING007(INTEGER003) = Strip(String(ToDate(DATE002)), "-")
  80.             Endif
  81.         Next
  82.         STRING012 = ""
  83.         For INTEGER004 = 1 To INTEGER005
  84.             STRING012 = STRING012 + " " + TSTRING007(INTEGER004)
  85.         Next
  86.     ElseIf (TokCount() == 0) Then
  87.         DispFile PPEPath() + "graph\nshdr", 1 + 4
  88.         :LABEL001
  89.         STRING010 = ReadLine(STRING013, 1)
  90.         Print ReadLine(STRING008, 1)
  91.         INTEGER001 = GetX()
  92.         INTEGER002 = GetY()
  93.         Print STRING010
  94.         AnsiPos INTEGER001, INTEGER002
  95.         InputStr "_", STRING010, 1, 4, Mask_Num() + "?D", 16 + 8 + 2
  96.         If (STRING010 == "?") Then
  97.             Newline
  98.             DispFile PPEPath() + "graph\nshlp", 1 + 4
  99.             Newline
  100.             Goto LABEL001
  101.             Goto LABEL002
  102.         Endif
  103.         If (STRING010 == "") Then
  104.             End
  105.         Endif
  106.         :LABEL002
  107.         If (Upper(STRING010) == "D") Then
  108.             STRING012 = ""
  109.             Goto LABEL003
  110.         Endif
  111.         DATE002 = ToDate(ToInt(DATE001) - ToInt(STRING010))
  112.         STRING012 = Strip(String(DATE002), "-")
  113.         :LABEL003
  114.         Newline
  115.         STRING010 = ReadLine(STRING013, 2)
  116.         Print ReadLine(STRING008, 2)
  117.         INTEGER001 = GetX()
  118.         INTEGER002 = GetY()
  119.         Print STRING010
  120.         AnsiPos INTEGER001, INTEGER002
  121.         InputStr "_", STRING010, 1, 10, "0123456789-UuAa?", 16
  122.         If (STRING010 == "?") Then
  123.             Newline
  124.             DispFile PPEPath() + "graph\nshlp", 1 + 4
  125.             Goto LABEL003
  126.             Goto LABEL004
  127.         Endif
  128.         If (STRING010 == "") Then
  129.             End
  130.         Endif
  131.         :LABEL004
  132.         STRING012 = STRING012 + " " + STRING010
  133.         :LABEL005
  134.         Newline
  135.         STRING010 = ReadLine(STRING013, 3)
  136.         Print ReadLine(STRING008, 3)
  137.         INTEGER001 = GetX()
  138.         INTEGER002 = GetY()
  139.         Print STRING010
  140.         AnsiPos INTEGER001, INTEGER002
  141.         InputStr "_", STRING010, 1, 10, "NnFfCc?", 16
  142.         If (STRING010 == "?") Then
  143.             Newline
  144.             DispFile PPEPath() + "graph\nshlp", 1 + 4
  145.             Goto LABEL005
  146.             Goto LABEL006
  147.         Endif
  148.         If (STRING010 == "") Then
  149.             End
  150.         Endif
  151.         :LABEL006
  152.         Newline
  153.         If (Upper(STRING010) == "N") Then
  154.             Goto LABEL007
  155.             Goto LABEL007
  156.         Endif
  157.         If (Upper(STRING010) == "F") Then
  158.             Goto LABEL008
  159.             Goto LABEL007
  160.         Endif
  161.         If (Upper(STRING010) == "C") Then
  162.             Goto LABEL009
  163.         Endif
  164.     Endif
  165.     :LABEL007
  166.     KbdStuff "N " + STRING012
  167.     End
  168.     :LABEL008
  169.     KbdStuff "N D " + STRING012
  170.     End
  171.     :LABEL009
  172.     OpenCap STRING006, BOOLEAN002
  173.     If (BOOLEAN002) Then
  174.         PrintLn "ERROR in dirlist: cannot open capture file"
  175.         End
  176.     Endif
  177.     ShowOff
  178.     KbdStuff STRING011
  179.     Dir "N NS " + STRING012
  180.     CloseCap 
  181.     ShowOn
  182.     If (BOOLEAN003) Then
  183.         Tokenize STRING003
  184.         STRING001 = GetToken()
  185.         STRING002 = ""
  186.         STRING005 = GetToken()
  187.         While (1) Do
  188.             If (STRING005 == "") Break
  189.             STRING002 = STRING002 + " " + STRING005
  190.             STRING005 = GetToken()
  191.         EndWhile
  192.         Shell 1, BOOLEAN002, STRING001, STRING002
  193.         Download STRING006 + "." + STRING009
  194.     Else
  195.         Download STRING006
  196.     Endif
  197.     Delete STRING006
  198.     Delete STRING006 + "." + STRING009
  199.     KbdStuff STRING011
  200.     End
  201.  
  202. ;------------------------------------------------------------------------------
  203. ;
  204. ; Usage report (before postprocessing)
  205. ;
  206. ; ■ Statements used :
  207. ;
  208. ;    7       End
  209. ;    38      Goto 
  210. ;    45      Let 
  211. ;    6       Print 
  212. ;    1       PrintLn 
  213. ;    22      If 
  214. ;    4       DispFile 
  215. ;    2       GetUser
  216. ;    2       Delete 
  217. ;    3       InputStr 
  218. ;    7       Newline
  219. ;    3       Tokenize 
  220. ;    1       Shell 
  221. ;    4       KbdStuff 
  222. ;    1       Dir 
  223. ;    3       AnsiPos 
  224. ;    1       OpenCap 
  225. ;    1       CloseCap 
  226. ;    1       ShowOn
  227. ;    1       ShowOff
  228. ;    1       Redim 
  229. ;    2       Download 
  230. ;
  231. ;
  232. ; ■ Functions used :
  233. ;
  234. ;    34      +
  235. ;    3       -
  236. ;    14      ==
  237. ;    1       <>
  238. ;    2       <
  239. ;    2       <=
  240. ;    5       >=
  241. ;    20      !
  242. ;    4       &&
  243. ;    2       ||
  244. ;    1       Len(
  245. ;    4       Upper()
  246. ;    1       Mid()
  247. ;    1       Left()
  248. ;    1       Chr()
  249. ;    1       Date()
  250. ;    1       U_LDate()
  251. ;    2       Strip()
  252. ;    3       String()
  253. ;    1       Mask_Num()
  254. ;    6       PPEPath()
  255. ;    1       PcbNode()
  256. ;    9       ReadLine()
  257. ;    6       GetToken()
  258. ;    1       Exist()
  259. ;    1       TokenStr()
  260. ;    3       LangExt()
  261. ;    3       GetX()
  262. ;    3       GetY()
  263. ;    3       TokCount()
  264. ;    2       ReplaceStr()
  265. ;    3       ToDate()
  266. ;    4       ToInt()
  267. ;
  268. ;------------------------------------------------------------------------------
  269. ;
  270. ; Analysis flags : S
  271. ;
  272. ; S - Shell to DOS ■ 5
  273. ;     This may be normal if the PPE need to execute an external command,
  274. ;     but may be actually anything... nasty (formating HD, rebooting,...)
  275. ;     or usefull (sorting, maintenance,...). Check!
  276. ;     ■ Search for : SHELL
  277. ;
  278. ;------------------------------------------------------------------------------
  279. ;
  280. ; Postprocessing report
  281. ;
  282. ;    2       For/Next
  283. ;    1       While/EndWhile
  284. ;    17      If/Then or If/Then/Else
  285. ;    0       Select Case
  286. ;
  287. ;------------------------------------------------------------------------------
  288. ;                 AEGiS Corp - Break the routines, code against the machines!
  289. ;------------------------------------------------------------------------------
  290.